<?php

namespace IDock\Insurance\JTIC\Response;

use IDock\Http\Response;
use IDock\Insurance\JTIC\Response\AllJTICResponse;
use IDock\Printer\NonCar\NonCarProductListPrinter;
use IDock\Printer\NonCar\NonCarProductPrinter;
use IDock\Printer\NonCar\NonCarSubCoveragePrinter;
use IDock\Printer\UnderwritingRecallPrinter;

class NonCarProductListResponse extends AllJTICResponse
{

    public function printerInit(): Response
    {
        $body = $this->getBody();
        $proList = $body['ProjectACCList']['ProjectItem'] ?? [];
        $proList = $this->formatArray($proList);
        $printer = new NonCarProductListPrinter();
//        $list = [
//            [
//                'productCode' => 'YWQGCX05008',
//                'productName' => '5座（10+1）全车驾乘意外险',
//                'planCode' => 'YWQGCX05008',
//                'planName' => '5座（10+1）全车驾乘意外险',
//                'premium' => '100.00',
//                'amount' => '110000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '10',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '1',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWQGCX05009',
//                'productName' => '5座（20+2）全车驾乘意外险',
//                'planCode' => 'YWQGCX05009',
//                'planName' => '5座（20+2）全车驾乘意外险',
//                'premium' => '200.00',
//                'amount' => '238000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '10',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '1',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWQGCX05012',
//                'productName' => '5座（30+3）全车驾乘意外险',
//                'planCode' => 'YWQGCX05012',
//                'planName' => '5座（30+3）全车驾乘意外险',
//                'premium' => '330.00',
//                'amount' => '348000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '30',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '3',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWQGCX05013',
//                'productName' => '5座（50+5）全车驾乘意外险',
//                'planCode' => 'YWQGCX05013',
//                'planName' => '5座（50+5）全车驾乘意外险',
//                'premium' => '550.00',
//                'amount' => '568000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '50',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '5',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWQGCX05010',//todo 没保额
//                'productName' => '6-7座（10+1）全车驾乘意外险',
//                'planCode' => 'YWQGCX05010',
//                'planName' => '6-7座（10+1）全车驾乘意外险',
//                'premium' => '105.00',
//                'amount' => '110000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '10',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '1',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWQGCX05011',//
//                'productName' => '6-7座（20+2）全车驾乘意外险',
//                'planCode' => 'YWQGCX05011',
//                'planName' => '6-7座（20+2）全车驾乘意外险',
//                'premium' => '210.00',
//                'amount' => '238000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '20',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '2',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWCDCX05013',
//                'productName' => '6-7座（30+3）四川全车驾乘意外险',
//                'planCode' => 'YWCDCX05013',
//                'planName' => '6-7座（30+3）四川全车驾乘意外险',
//                'premium' => '340.00',
//                'amount' => '348000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '30',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '3',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWCDCX05014',
//                'productName' => '6-7座（50+5）四川全车驾乘意外险',
//                'planCode' => 'YWCDCX05014',
//                'planName' => '6-7座（50+5）四川全车驾乘意外险',
//                'premium' => '560.00',
//                'amount' => '568000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '50',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '5',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWCDCX05005',
//                'productName' => '5座（10+10）四川全车驾乘意外险',
//                'planCode' => 'YWCDCX05005',
//                'planName' => '5座（10+10）四川全车驾乘意外险',
//                'premium' => '185.00',
//                'amount' => '200000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '10',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '10',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05002',
//                'productName' => '5座（20+20）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05002',
//                'planName' => '5座（20+20）四川全车驾乘意外险',
//                'premium' => '265.00',
//                'amount' => '418000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '20',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '20',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05003',
//                'productName' => '5座（30+30）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05003',
//                'planName' => '5座（30+30）四川全车驾乘意外险',
//                'premium' => '365.00',
//                'amount' => '618000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '30',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '30',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWCDCX05008',
//                'productName' => '5座（50+50）四川全车驾乘意外险',
//                'planCode' => 'YWCDCX05008',
//                'planName' => '5座（50+50）四川全车驾乘意外险',
//                'premium' => '615.00',
//                'amount' => '1018000',
//                'maxLimit' => '1',
//                'seat' => '5',
//                'coverageList' => [
//                    [
//                        'amount' => '50',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '50',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05051',
//                'productName' => '6-7座（10+10）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05051',
//                'planName' => '6-7座（10+10）四川全车驾乘意外险',
//                'premium' => '195.00',
//                'amount' => '200000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '10',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '10',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05006',
//                'productName' => '6-7座（20+20）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05006',
//                'planName' => '6-7座（20+20）四川全车驾乘意外险',
//                'premium' => '285.00',
//                'amount' => '418000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '20',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '20',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05007',
//                'productName' => '6-7座（30+30）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05007',
//                'planName' => '6-7座（30+30）四川全车驾乘意外险',
//                'premium' => '385.00',
//                'amount' => '618000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '30',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '30',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//            [
//                'productCode' => 'YWSCCX05008',
//                'productName' => '6-7座（50+50）四川全车驾乘意外险',
//                'planCode' => 'YWSCCX05008',
//                'planName' => '6-7座（50+50）四川全车驾乘意外险',
//                'premium' => '635.00',
//                'amount' => '1018000',
//                'maxLimit' => '1',
//                'seat' => '7',
//                'coverageList' => [
//                    [
//                        'amount' => '50',
//                        'subName' => '意外身故/残疾（万元）',
//                    ],
//                    [
//                        'amount' => '50',
//                        'subName' => '意外医疗（万元）',
//                    ],
//                    [
//                        'amount' => '1.8',
//                        'subName' => '住院津贴（万元）',
//                    ],
//                ],
//            ],
//
//        ];

        foreach ($proList as $item) {
            $productPrinter = new NonCarProductPrinter();
            $productPrinter->productCode = $item['ProjectCode'] ?? '';//产品编码
            $productPrinter->productName = $item['ProjectName'] ?? '';//产品名称
            $productPrinter->unitAmount = $item['PlanAmount'] ?? '';//保额
            $productPrinter->productType = '驾意险';
            $productPrinter->productDesc = $item['SpecContent'] ?? '';
            $productPrinter->premium = $item['PlanPremium'] ?? '';
            $productPrinter->planCode = $item['ProjectCode'] ?? '';//方案代码
            $productPrinter->planName = $item['ProjectName'] ?? '';//方案名称
            $coverageList = $this->formatArray($item['CoverageList']['CoverageItem'] ?? []);
            foreach ($coverageList as $sub) {
                $subCoverage = new NonCarSubCoveragePrinter();
                $subCoverage->subCode = $sub['CoverageCode'] ?? '';
                $subCoverage->subName = $sub['LiabilityName'] ?? '';
                $subCoverage->amount = $sub['PlanCoverageAmount'] ?? '';
                $productPrinter->subCoverageAppend($subCoverage);
            }

            $printer->productListAppend($productPrinter);
        }


        $this->printer = $printer;
        return $this;
    }
}
